import React,{ Component } from 'react';
import { connect } from 'react-redux';
import { async } from '../model/demo1';

/**
 * 使用装饰器的写法
 */
const mapStateToProps = (state) => {
    return {
        k: state
    }
};

const mapDispatchToProps = (dispatch) => {
   return{
    async: () => {
        dispatch(async())
    }
   } 
};

@connect(mapStateToProps, mapDispatchToProps)
class App extends Component{
    constructor(props){
        super(props);
        console.log(props); 
    }
    render(){
        return (<div>test123:{this.props.k.jq.num}
        <input type="button" onClick={this.props.async} />
        </div>)
    }
}

// const mapStateToProps = (state) => {
//     return {
//         k: {
//             ...state
//         }
//     }
// };

// 两种玩法
// 1
// const mapDispatchToProps = {
//         async
// };
// 2
// const mapDispatchToProps = (dispatch) => {
//    return{
//     async: () => {
//         dispatch(async())
//     }
//    } 
// };

// export default connect(mapStateToProps, mapDispatchToProps)(App);

export default App;